<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html>
<title>RARS Acknowledgements</title>
<body>
<center>
<h3>RARS Acknowledgements</h3>
<font size="-1">Updated 26 August 2017</font>
</center>

<p>
    This project was built off of MARS and owes a lot to the work of Pete Sanderson and Kenneth Vollmar.
</p>

<p>
    In addition to the main contributors of MARS many people have helped throughout its development and their work is greatly appreciated.


<ul>
<li><b>Torsten Mahne</b>, <b>Umberto Villano</b> and others who took care of the
    bug with certain European keyboards that require an Alt key combo to form
    essential MIPS assembly characters like $ and #.  I had no means of testing it.
</li>
<li><b>Eric Wang</b> at Washington State University, who suggested adding
    cursor positioning to the Keyboard and Display MMIO Simulator tool.
</li>
<li><b>Carl Burch</b> of Hendrix College, who developed the mechanism for 
simulating the execution of straight binary code.  Previously, execution was based on
ProgramStatement objects generated by the assembler. This, combined with the added capabilities 
to write to the text segment and
branch/jump into the data segment at runtime, permits one to produce self-modifying
programs, simulate buffer overflow attacks, and the like.
</li>
<li><b>Tom Bradford</b>, <b>Slava Pestov</b> and others, who developed the jEdit Syntax Package (syntax.jedit.org)
at the heart of the syntax-aware color highlighting editor.  It was old but the licensing was right and it was
written for embedding into Java applications.
</li>

<li><b>Mohammad Sekhavat</b> from Sharif University in Tehran, who developed the
macro capability.  
</li>

<li><b>Greg Gibeling</b> of UC Berkeley, who introduced capabilities into his customized version
of MARS that have subsequently been expanded and integrated into our release.  
These include the ability to dump memory contents to file and parser improvements
to distinguish signed from unsigned hexadecimal constants.
</li>

<li><b>Eric Shade</b> of Missouri State University, who suggested several improvements to
pseudo-instruction expansions such as elimination of internal branches
and improvements to the sign-extended loading of 16-bit immediate operands.
</li>

<li><b>Saul Spatz</b> of the University of Missouri Kansas City, who noticed and provided a solution
for a flaw in the calculation of byte-oriented addresses in the simulated memory stack segment.
He has also suggested several improvements that we have implemented.
</li>

<li><b>Zachary Kurmas</b> of Grand Valley State University, who suggested several bug fixes and 
who encorporated MARS into his own successful <tt>JLSCircuitTester</tt> digital logic simulator software.
</li>

<li><b>Felipe Lessa</b>, who contributed the Instruction Counter tool and suggested a solution
for the problem of MARS inability to launch when stored in a directory whose name
contained non-ASCII characters.
</li>

<li><b>Carl Hauser</b> of Washington State University, who pointed out and provided a solution to
a flaw in the Keyboard and Display Simulator Tool in how it used the Exception Level bit in the
Coprocessor1 Status register.  Also thanks to <b>Michael Clancy</b> of UC Berkeley for pointing out a flaw in the 
tool's mechanism for resetting the Transmit Ready bit when operating in kernel memory.
</li>

<li><b>Dave Poplawski</b> of Michigan Technological University, for his assistance in working through
some issues with signed/unsigned constants and with output redirection.
</li>

<li><b>Ingo Kofler</b> of Klagenfurt University in Austria, who contributed two Tools: a tool 
to collect Instruction Statistics, and a tool to simulate branch prediction
with a Branch History Table.
</li>

<li><b>Brad Richards</b> and <b>Steven Canfield</b> from the University of Puget Sound, for providing
a technique that improved file loading performance.
</li>

<li><b>Jan Schejbal</b> and <b>Jan-Peter Kleinhans</b> of Darmstadt technical university in Germany, for
suggesting and providing a patch to display Run I/O text in a constant-width font.
</li>

<li><b>Max Hailperin</b> of Gustavus Adolphus College, who made several
improvements to the MIDI syscalls.
</li>

<li><b>David Patterson</b> of UC Berkeley, for making time in his busy schedule for Ken's demo of MARS.
</li>

<li><b>Denise Penrose</b> and <b>Nate McFadden</b> of Morgan Kaufmann Publishers, for their 
assistance as editors of
<i>Computer Organization and Design</i>.</li>

<li><b>Ricardo Pascual</b> of University of Murcia in Spain, who contributed the code to permit input syscall
keystrokes to be typed directly into the Run I/O window instead of through a popup dialog.
</li>

<li><b>Didier Teifreto</b> of Université de Franche-Comté in France, who contributed the Digital Lab Sim tool.
</li>

<li><b>Facundo Agriel</b> of the University of Illinois at Chicago, who added font selection to the Keyboard and
Display Simulator tool.
</li>

<li>Patrik Lundin for contributing the code to add scrolling to the keyboard and display simulator.
</li>

<li>Otterbein students Robert Anderson, Jonathan Barnes, Sean Pomeroy and Melissa Tress
for contributing the new command-mode options for specifying MARS exit codes when
assembly or simulation errors occur.  This was sparked by a comment from 
Zheming Jim of the University of South Carolina.
</li>

<li>The unknown audience member at our SIGCSE 2006 conference presentation,
who suggested that MARS would also be useful running in the background
in support of an external application.  This led directly to our development of the Tools
framework and API that truly distinguishes MARS from all other MIPS simulators.
</li>
</ul>
</p>
</body>
</html>
